package net.lengwang.iot.middleware.packet;

/**
 * BEBE 组指令：
 * 网关握手:90
 * 网关授时:91
 * 网关上报状态:92
 * 服务器下发绑定:93
 * 服务器删除网关所有绑定:97
 * 报警器下发绑定名称:AE
 * 物联网数据上报：94
 * 网关定位数据上报：9F
 * 网关运输状态数据上报：A0
 * 服务器下发打印布局：A1
 * 服务器下发布局内容：A2
 * 网关批量上传数据上报：8F
 * 服务器数据反馈：A9
 * 网关转发传感器状态数据上报：AA
 * 网关ICCID数据上报：81
 * 服务器下发参数：B1
 * 远程命令执行结束反馈：A8
 */
public class PacketType {
    public static final String UNKNOWN = "0";
    public static final String BEBE_GATEWAY_HANDSHAKE = "90";
    public static final String BEBE_GATEWAY_TIME_SYNC = "91";
    public static final String BEBE_GATEWAY_STATUS_REPORT = "92";
    public static final String BEBE_SERVER_BINDING_DISPATCH = "93";
    public static final String BEBE_SERVER_DELETE_ALL_BINDINGS = "97";
    public static final String BEBE_ALARM_BINDING_NAME_DISPATCH = "AE";
    public static final String BEBE_IOT_DATA_REPORT = "94";
    public static final String BEBE_GATEWAY_LOCATION_REPORT = "9F";
    public static final String BEBE_GATEWAY_TRANSPORT_STATUS_REPORT = "A0";
    public static final String BEBE_SERVER_PRINT_LAYOUT_DISPATCH = "A1";
    public static final String BEBE_SERVER_LAYOUT_CONTENT_DISPATCH = "A2";
    public static final String BEBE_GATEWAY_BATCH_DATA_REPORT = "8F";
    public static final String BEBE_SERVER_DATA_FEEDBACK = "A9";
    public static final String BEBE_GATEWAY_SENSOR_STATUS_REPORT = "AA";
    public static final String BEBE_GATEWAY_ICCID_REPORT = "81";
    public static final String BEBE_SERVER_PARAMETER_DISPATCH = "B1";
    public static final String BEBE_REMOTE_COMMAND_EXECUTION_FEEDBACK = "A8";

    private PacketType() {
        // 私有构造函数，防止实例化
    }

    // 返回所有类型
    public static String[] getAllTypes() {
        return new String[] {
                UNKNOWN,
                BEBE_GATEWAY_HANDSHAKE,
                BEBE_GATEWAY_TIME_SYNC,
                BEBE_GATEWAY_STATUS_REPORT,
                BEBE_SERVER_BINDING_DISPATCH,
                BEBE_SERVER_DELETE_ALL_BINDINGS,
                BEBE_ALARM_BINDING_NAME_DISPATCH,
                BEBE_IOT_DATA_REPORT,
                BEBE_GATEWAY_LOCATION_REPORT,
                BEBE_GATEWAY_TRANSPORT_STATUS_REPORT,
                BEBE_SERVER_PRINT_LAYOUT_DISPATCH,
                BEBE_SERVER_LAYOUT_CONTENT_DISPATCH,
                BEBE_GATEWAY_BATCH_DATA_REPORT,
                BEBE_SERVER_DATA_FEEDBACK,
                BEBE_GATEWAY_SENSOR_STATUS_REPORT,
                BEBE_GATEWAY_ICCID_REPORT,
                BEBE_SERVER_PARAMETER_DISPATCH,
                BEBE_REMOTE_COMMAND_EXECUTION_FEEDBACK
        };
    }
}
